package com.mcode.blog.service;

import com.mcode.blog.dao.dos.Archives;
import com.mcode.blog.vo.ArticleVo;
import com.mcode.blog.vo.params.ArticleParam;
import com.mcode.blog.vo.params.PageParams;

import java.util.List;

public interface ArticleService {

    /**
     * 分页文章查询
     *
     * @param pageParams
     * @return
     */
    List<ArticleVo> listArticle(PageParams pageParams);

    /**
     * 最热文章
     *
     * @param limit
     * @return
     */
    List<ArticleVo> hotArticle(int limit);

    /**
     * 最新文章
     *
     * @param limit
     * @return
     */
    List<ArticleVo> newArticle(int limit);

    /**
     * 文章归档
     *
     * @return
     */
    List<Archives> listArchives();

    /**
     * 文章详情
     *
     * @param articleId
     * @return
     */
    ArticleVo findArticleById(Long articleId);


    /**
     * 发布文章
     *
     * @param articleParam
     */
    ArticleVo publish(ArticleParam articleParam);
}
